package Controlador;



import java.util.ArrayList;

import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.context.FacesContext;
import javax.inject.Inject;

import model.Cliente;
import model.UsuarioOnline;
import DAO.ClienteDAO;
import DAO.UsuarioDAO;

@ManagedBean
public class IngresarClienteBean {
	
	//dependencias
	@Inject
	ClienteDAO cd;
	@Inject
	UsuarioDAO udao;
	
	
	//atributos
	Cliente cliEntity = new Cliente();
	UsuarioOnline usronline=null;
	ArrayList< UsuarioOnline> usroDisponibles;
	String seleccionado="";
	
	
	

	@PostConstruct
	public void cargaDatos()
	{
		usroDisponibles=udao.listarDisponibles();
	}
	
	//encapsulacions{return usronline;}
	public Cliente getCliEntity() {
		return cliEntity;
	}

	public void setCliEntity(Cliente cliEntity) {
		this.cliEntity = cliEntity;
	}

	public UsuarioOnline getUsronline() {
		return usronline;
	}

	public void setUsronline(UsuarioOnline usronline) {
		this.usronline = usronline;
	}

	public ArrayList<UsuarioOnline> getUsroDisponibles() {
		return usroDisponibles;
	}

	public void setUsroDisponibles(ArrayList<UsuarioOnline> usroDisponibles) {
		this.usroDisponibles = usroDisponibles;
	}



	
	//action Controller
	public String guardar(){
		System.out.println("se visualiza "+ seleccionado);
		FacesContext ctx = FacesContext.getCurrentInstance();
		try{		
				Cliente cliente = cd.buscar(cliEntity.getCliCedula());
			    if(cliente == null){					
			    	if(usronline!=null)
						if(seleccionado.compareToIgnoreCase("true")==0)
						{	
							cliEntity.setUsuarioOnline(usronline);
						}
					cd.insertar(cliEntity);
					ctx.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO,"Sistema", "El cliente " + cliEntity.getCliNombre() + " fue ingresado"));
					cliEntity = new Cliente();
					usronline=null;
					usroDisponibles=udao.listarDisponibles();
					
				}else
					ctx.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_WARN,"Sistema", "El cliente " + cliEntity.getCliCedula() + " ya existe"));
												
							
		}catch(Exception e){
			ctx.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,"Sistema", "No se realizaron las acciones "));
			e.printStackTrace();
		}
		return null;
	}

	public String getSeleccionado() {
		return seleccionado;
	}

	public void setSeleccionado(String seleccionado) {
		this.seleccionado = seleccionado;
	}

	
	
	
	

}
